root {
	comments {
		7e2000 = "root = root overlay segment";
		7e200c = "ovl_load(u16 destination_addr, u08 overlay_index)";
		7e203f = "ovl_call(u08 overlay_index)";

		7e2392 = "14/f060 = window frame 1 (solid)";
		7e239f = "14/f740 = blank tile (solid)";
		7e23ad = "1d/8000 = tile_data.unk_e8000";
		7e23c7 = "14/ef40 = tile_data.tileset.arrows";
		7e23d8 = "14/f160 = tile_data.tileset.text_arrows";

		7e3ccb = "copyright notice bitmaps";
		7e3cea = "koei logo bitmaps";

		7e4d5e = "is_character_active(arg1 = character index), return vm.l = bool";
		7e4d63 = "cs = &state.status[arg1] (r0)";
		7e4d77 = "cs.ai_status.command";
		7e4d7e = "if (ai_command == halted)";
		7e4d83 = "if (cs.health == 0)";

		7e4d95 = "find_character(arg1 = character index), return vm.l = location index";
		7e4da2 = "u08 state.location[48][3]";
		7e4db9 = "if (location[X].visitor == arg1)";
		7e4dbd = "vm.r = &state.status[A].with_index";
		7e4dd3 = "next location";
	}
	
	labels {
		7e4d8e = _lstatus_inactive;
	}

	func {
		7e2003 = start;
		7e200c = ovl_load;
		7e203f = ovl_call;
		7e2070 = intro_koei;
		7e20c8 = set_bg2;
		7e2242 = ptr_shuffle_1;
		7e226b = load_font;
		7e22f7 = video_sync;
		7e23fc = init_data_chunks;
		7e241a = init_root_vars;
		7e243c = init;
		7e244e = load_map;
		7e246a = game_loop;
		7e24be = so10_2getv25;
		7e24db = so0f_getv25;
		7e2508 = ptr_16_208;
		7e252a = long_base10_recursive;
		7e2584 = printf;
		7e2749 = text_1;
		7e2759 = limit_r1r2;
		7e279f = set_r1r2_if_gt0;
		7e27bc = set_r1;
		7e27c9 = set_r2;
		7e27d6 = set_r3r4r5r6;
		7e27ec = 27ec;
		7e27fc = get_r1;
		7e2805 = get_r2;
		7e280e = get_font_index_for_char;
		7e28ba = text_2;
		7e2bbc = 2bbc;
		7e2bc6 = 2bc6;
		7e2bdc = 2bdc;
		7e2d1f = 2d1f;
		7e2d81 = menu_1;
		7e2ed3 = 2ed3;
		7e2f92 = 2f92;
		7e2fee = 2fee;
		7e2ffc = 2ffc;
		7e3032 = 3032;
		7e3068 = 3068;
		7e3089 = 3089;
		7e31e8 = 31e8;
		7e3220 = so3a;
		7e323e = 323e;
		7e333b = 333b_5292;
		7e33e0 = memcpy;
		7e3421 = memcmp;
		7e3444 = strfill;
		7e345d = strtol1;
		7e34b8 = strtol2;
		7e351f = strcpy;
		7e3536 = strcat;
		7e3558 = strlen;
		7e356e = toupper;
		7e3593 = tolower;
		7e35b8 = gtzero_or_neg1;
		7e35ca = rand;
		7e35fa = srand;
		7e3607 = randr;
		7e3618 = get_bcd;
		7e362d = aud_0;
		7e3656 = aud_1;
		7e3669 = aud_2;
		7e367d = aud_3;
		7e3692 = aud_4;
		7e36a2 = aud_5;
		7e36b2 = aud_6;
		7e36bf = get_cant_do_that;
		7e36c8 = bag_full;
		7e3703 = print_time_of_day;
		7e3728 = province_ai_1c00_so0b06;
		7e3776 = print_gold;
		7e3795 = print_date;
		7e37cc = print_provinceq;
		7e37f2 = print_fmt5_6_7;
		7e3838 = character_so0b06;
		7e38e9 = print_partymemb1;
		7e3955 = print_partymemb2;
		7e39c1 = print_partymemb3;
		7e3a68 = print_partymemb4;
		7e3a86 = video_1;
		7e3b62 = video_2;
		7e3bb7 = display_error;
		7e3c5f = button_wait;
		7e3ca1 = button_wait_flag;
		7e3cb7 = copyright_logo_anim;
		7e3e82 = 3e82;
		7e3ea1 = 3ea1;
		7e3eb1 = loop_n_24db;
		7e3ec9 = location_copy1;
		7e3f00 = location_copy2;
		7e3f35 = get_status;
		7e3f44 = get_status_index;
		7e3f51 = get_rulers;
		7e3f5f = get_rulers_index;
		7e3f6c = get_province;
		7e3f7c = get_province_index;
		7e3f8a = get_location;
		7e3f99 = get_location_index;
		7e3fa6 = get_generals;
		7e3fb3 = get_generals_index;
		7e3fbe = party_get_member_status;
		7e3fd1 = party_status1;
		7e3ffa = party_status2;
		7e4011 = party_position1;
		7e402c = party_unk1;
		7e4059 = party_remove_member;
		7e40ae = party_add_member;
		7e4154 = get_lo_nibble;
		7e415f = get_hi_nibble;
		7e416a = set_p23;
		7e417c = get_p23;
		7e418a = 418a;
		7e41c8 = inventory1;
		7e4204 = inventory2;
		7e423b = inventory3;
		7e42e8 = get_character_class;
		7e430c = ptr_randr;
		7e4349 = province1;
		7e43fc = so1a1c;
		7e441a = so1a1e;
		7e443f = load_pal1;
		7e4476 = load_pal2;
		7e44b4 = so10n;
		7e44cb = so04_5291;
		7e44eb = 44eb;
		7e44f9 = palerr;
		7e4578 = 4578;
		7e4596 = 4596;
		7e45b3 = memcpyq1;
		7e45eb = so0706;
		7e4624 = memcpyq2;
		7e465c = 465c;
		7e4687 = 4687;
		7e469c = 469c;
		7e46b1 = stack_overflow_1;
		7e4724 = 4724;
		7e4760 = get_name_1;
		7e4792 = 4792;
		7e47bc = 47bc;
		7e480f = 480f;
		7e4855 = 4855;
		7e486c = 486c;
		7e48a4 = 48a4;
		7e48bc = 48bc;
		7e48f2 = 48f2;
		7e4909 = 4909;
		7e4921 = 4921;
		7e493c = 493c;
		7e4967 = 4967;
		7e4993 = get_general_name;
		7e49bb = allocate_vram;
		7e49cd = 49cd;
		7e4a35 = 4a35;
		7e4a9f = 4a9f;
		7e4ada = 4ada;
	
		7e4b25 = vm_start;
		7e4b29 = sysop;
		7e4b2d = vm_start2;
		7e4b31 = vm_start3;
		7e4b35 = max;
		7e4b4c = min;
		7e4b63 = n_4b63;
		7e4b92 = n_4b92;
		7e4bbc = n_4bbc;
		7e4bf1 = n_4bf1;
		7e4c23 = n_4c23;
		7e4c64 = n_4c64;
		7e4c81 = multiply1;
		7e4cde = get_result_wcarry;
		7e4ceb = rotate1;
		7e4d27 = is_party_member;
		7e4d5e = is_character_active;
		7e4d95 = find_character;
		7e4de1 = is_character_present1;
		7e4e1f = is_character_present2;
		7e4e78 = list_count;
		7e4e9b = list_add;
		7e4ecd = list_remove;
		7e4f07 = n_4f07;
	}
	
	data {
		7e4fbe = starstarkoei;
		7e4fc4 = index;
		7e4fce = index.chunk_size;
		7e5270 = data;
		7e5275 = cbmdata;
		7e527c = unk3a;
		7e528d = unk3b;
		7e5304 = unk3c[0];
		7e5306 = unk3c[1];
		7e5308 = unk3c[2];
		7e530a = unk3c[3];
		7e530c = unk3c[4];
		7e530e = unk3c[5];
		7e5310 = unk3c[6];
		7e5312 = unk3c[7];
		7e5314 = unk3c[8];
		7e5346 = you_cant_do_that;
		7e535f = s_bags_are_full;
		7e537a = your_bags_are_full;
		7e538e = mrn_aft_ngt;
		7e53a0 = fmt1;
		7e53a9 = fmt2;
		7e53ad = months;
		7e53f8 = fmt3;
		7e5401 = fmt4;
		7e540a = fmt5;
		7e540e = fmt6;
		7e5412 = fmt7;
		7e5416 = fmt8;
		7e541a = fmt9;
		7e541e = fmta;
		7e5422 = fmtb;
		7e5426 = fmtc;
		7e5428 = fmtd;
		7e542e = unk4;
		7e54ce = cannot_open_window;
		7e54e1 = pal;
		7e56a1 = odd50;
		7e588d = odd51;
		7e59a1 = odd5;
		7e5a5d = unk6;
		7e5a7d = addr1;
		7e5a88 = character_classes;
		7e5b46 = pal_chg_err;
		7e5b52 = stack_overflow;
		7e5b61 = unk9;

		7e5e02 = data_ovl_ptr;
		7e5e04 = cbmdata_ovl_ptr;

		7e5e06 = rv_06l;
		7e5e07 = rv_07l;
		7e5e08 = rv_08l;
		7e5e09 = rv_09l;

		7e5e0a = rv_0a;
		7e5e0c = rv_0c;
		7e5e0e = rv_0e;

		7e5e12 = rv_12;
	}
}
